35 PRINTCHR$(142):FORJ=0TO63:READI:POKE12288+J,I:NEXT:REM READ IN SPRITE DATA 40 POKE2040,192:V=53248:POKEV+39,2 65 POKE53280,5:POKE53281,14:POKEV+29,0 70 PRINT"[147][158]"TAB(10)" SPEED BOAT RACE" 75 PRINT"[144]SCORE IS ELAPSED TIME +5 FOR EACH GATE MISSED. LOWEST SCORE WINS." 80 : 90 PRINT"[144]PRESS [158]<[144] TO GO LEFT, [158]>[144] TO GO RIGHT." 95 PRINT"TRY TO GO THROUGH ALL GATES[160][150][167][190][164][164][164][164][164][188][165]" 100 PRINT"[155]AND MAKE ALL JUMPS [158][169] [223][146][155]THAT YOU CAN." 105 PRINT"[144]HITTING AN ISLAND WILL CAUSE A DELAY!" 110 PRINT"[158]NO. OF PLAYERS (1-4) "; 112 GETNP$:IFNP$<"1"ORNP$>"4"THEN112 113 NP=VAL(NP$) 114 PRINTNP 115 PRINT"NO. OF ROUNDS (1-5) "; 116 GETNR$:IFNR$<"1"ORNR$>"5"THEN116 117 NR=VAL(NR$) 119 PRINT NR 120 R=1:P=1:PRINT" PLAYER #";P:M$="[158]" 130 PRINTM$"PLAYER"P"-- SELECT SKILL LEVEL DESIRED:" 135 PRINT"1=BEGINNER":PRINT"2=INTERMEDIATE" 140 PRINT"3=ADVANCED":PRINT"4=OLYMPIC":PRINT"5=PROFESSIONAL" 150 A$="":GETA$ 160 IFA$="1"THENS$=" BEGINNER":GOTO210 170 IFA$="2"THENS$="INTERMEDIATE":GOTO210 175 IFA$="3"THENS$=" ADVANCED":GOTO210 180 IFA$="4"THENS$=" OLYMPIC":GOTO210 185 IFA$="5"THENS$="PROFESSIONAL":GOTO210 190 C1=C1+1:IFC1=20THENC1=0 195 IFC1=10THENM$="[154]" 200 IFC1=19THENM$="[158]" 205 PRINT"[145][145][145][145][145][145][145][145]":GOTO130 210 SK=VAL(A$):RN=(SK+1)/10 215 IFSK<1ORSK>5ORSK<>INT(SK)THENPRINT"[145][145][145][145][145][145][145][145][145][145]":GOTO130 220 SK=35-5*SK 230 PRINT"[147]":S=54272 240 FORI=1TO12STEP2 245 L=INT(RND(1)*38)+.5:PRINTTAB(L);"[153][166][220][166][166][145]":NEXT 250 B=1484:C=54272:POKEB,28:POKEB+C,14:POKEB+37,32:POKEB+38,32:POKEB+40,32 260 POKE1475,106:POKE1476,126:POKE1475+C,10:POKE1476+C,10:REM FLAGS 265 POKE1490,124:POKE1491,116:POKE1490+C,10:POKE1491+C,10 270 PRINT"[158]";S$;" [146]" 275 X1=175:POKEV+1,125:POKEV,X1:POKEV+21,1 300 GETA$:IFA$=""THEN300 310 TI$="000000" 315 GOSUB830:REM TURN ON SOUND 320 REM START OF ACTION 340 B=B+D:POKEB,F:POKEB+C,14 345 IFPEEK(197)<>64THEN350 347 D=0:F=28:POKEB-41,73:POKEB+C-41,3:POKEB-39,85:POKEB+C-39,3 350 IFPEEK(197)<>47THEN355 352 D=-1:F=28:POKEB-41,73:POKEB+C-41,3:POKEB-39,85:POKEB+C-39,3 355 IFPEEK(197)<>44THEN357 356 D=+1:F=28:POKEB-41,73:POKEB+C-41,3:POKEB-39,85:POKEB+C-39,3 357 X1=X1+(D*8):IFX1>255THENPOKEV+16,1:POKEV,X1-255:GOTO360 358 POKEV+16,0:POKEV,X1 360 POKEB,32 365 IFSKTHENFORT=1TOSK:NEXT 370 G=G+1:IFG<28THEN410 380 G=0:E=E+1:IFE=10THENPRINT"=======================================" 390 IFE=10THENPRINT"=======================================":GOTO470 400 X=INT(RND(1)*25)+2:PRINTTAB(X)"[150][167][190][154][164][164][164][164][164][164][164][150][188][180]":GOTO470:REM PRINT GATES 410 IFG=10THENX=INT(RND(1)*30)+4:PRINTTAB(X)"[158][169] [223]":REM JUMP RAMP 420 IFRND(1)>RNTHEN440 430 L=INT(RND(1)*30)+1:PRINTTAB(L)"[153][168][157][157][166][166][145]":GOTO450 440 PRINT:REM PRINT BLANK LINE 450 IFPEEK(B)<>32THEN500:REM TEST FOR COLLISION 470 GOTO320 490 REM WHAT DID BOAT COLLIDE WITH?: 500 IFPEEK(B)=100THENH=H+1:FORT=1TO30:NEXT:GOTO470:REM GOES THRU A GATE 510 IFPEEK(B)=61THENH=9-H:TM=INT(TI/60):POKEV+21,0:GOTO640:REM FINISH LINE 520 IFPEEK(B)=124ORPEEK(B)=126THENPOKEB-40,91:GOTO600:REM HITS A FLAG 530 IFPEEK(B)<>160ANDPEEK(B)<>223ANDPEEK(B)<>233THEN580:REM HIT A JUMP RAMP 540 G=G+10:GOSUB805:GOSUB870:GOSUB830:IFSK>0THENSK=SK-2 560 GOTO470 580 IFPEEK(B)=92ORPEEK(B)=102THENPOKEB-40,91:GOTO600:REM HITS AN ISLAND 590 GOTO470 600 GOSUB805:GOSUB850:FORJ=2TO0STEP-1:FORI=5-JTO5+J:POKE53267,I:NEXTI,J 610 OS=OS+1:FORT=0TO127:POKEB-40+C,INT(T/40)+2:NEXT 630 GOSUB805:GOSUB830:GOTO470 640 GOSUB810:REM SHUT OFF SOUND 650 U=0:PRINT"[147] OBJECTS HIT=";OS:PRINT" GATES MISSED=";H 655 PRINT" TIME="TM :SC=TM+5*H 660 PRINT" SCORE="SC 670 Z(P)=Z(P)+SC:PRINT"  ROUND ";R:PRINT" ":FORI=1TONP 680 PRINT" PLAYER #";I;Z(I):NEXT 690 SC=0:G=0:E=0:OS=0:H=0:IFU=10THENU=0:GOTO130 700 P=P+1:IFP"Y"ANDB$<>"N" THEN735 740 IFB$="Y"THENZ(1)=0:GOTO70 750 PRINT"[147] GOODBYE! " 760 FORT=1TO3000:NEXT:PRINT"[147][144]":POKE53280,0:POKE53281,0:LOAD"HELLO CONNECT",8 800 REM ****SOUND ROUTINES**** 805 REM CLEAR SOUND REGISTERS 810 FORJ=1TO24:POKES+J,0:NEXT:RETURN 830 REM SOUND OF WIND 835 POKES+24,5:POKES+5,128:POKES+6,128:POKES+1,40 840 POKES+4,128:POKES+4,129:RETURN 850 REM SOUND OF CRASH 855 POKES+24,15:POKES+5,28:POKES+1,20:POKES+4,128:POKES+4,129:RETURN 870 REM JUMP ROUTINE 875 POKES+24,15:POKES+5,12*16+0:POKES+6,12*16+10 880 FORJ=200TO100STEP-1:POKES+1,J:POKES+4,17 885 R1=R1+1:IFR1=8THENGOSUB895 890 NEXT:POKES+24,0:RETURN 895 PRINT:R1=0:RETURN 900 DATA0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 905 DATA0,127,0,0,255,128,0,193,128,0,193,128,0,193,128 910 DATA0,193,128,0,193,128,0,193,128,0,193,128,0,255,128 915 DATA0,127,0,0,62,0,0,28,0,0,8,0,0